BAB 4 UJI COBA DAN EVALUASI
4.1
Instalasi OpenVPN Penjelasan
mengenai
langkah-langkah
yang
dilakukan
dalam
penginstallan software OpenVPN pada server (Ubuntu Desktop 10.04 LTS) dan pada client (Windows) selengkapnya ada di bawah ini. 4.1.1
Instalasi OpenVPN pada Server 1. Pencarian aplikasi dari repository dan penginstalasian aplikasi OpenVPN. root@ubuntu:/home/fendi# apt-get install openvpn
2. Setelah instalasi dilakukan maka script konfigurasi untuk OpenVPN perlu di copy ke folder utama OpenVPN, yaitu di /etc/openvpn. root@ubuntu:/home/fendi# cp –Rf /usr/share/doc/openvpn/examples/easy-rsa/* /etc/openvpn/ root@ubuntu:/home/fendi# cp –Rf /etc/openvpn/2.0/* /etc/openvpn
3. Setelah selesai melakukan instalasi dan copy script konfigurasi maka tahap selanjutnya adalah konfigurasi pada server dan client OpenVPN.
64
65 4.1.2 Instalasi OpenVPN pada Client 1. Download software OpenVPN GUI untuk Sistem Operasi Windows di
http://openvpn.se/files/install_packages/openvpn-2.0.9-gui-1.0.3-
install.exe. 2. Install software yang telah didownload tadi sampai selesai.
Gambar 4.1 – Selesai Proses Instalasi OpenVPN GUI
3. Setelah instalasi selesai maka pada Control Panel Æ Network Connections akan terlihat sebuah network adapter baru yang bernama TAP-Win32 Adapter V8, agar lebih mudah dikenali maka dilakukan rename menjadi OpenVPN Tunnel.
Gambar 4.2 – Network Adapter OpenVPN Tunnel
66
Setelah proses instalasi selesai maka juga akan muncul OpenVPN GUI di taskbar seperti gambar dibawah ini.
Gambar 4.3 – OpenVPN GUI di Taskbar
4.2
Konfigurasi OpenVPN Setelah instalasi pada server dan client selesai dilakukan maka proses selanjutnya adalah konfigurasi. Berikut ini adalah konfigurasi OpenVPN pada server dan client. 4.2.1 Konfigurasi OpenVPN pada Server 1. Pindah
direktori
ke
direktori
OpenVPN
yang
terdapat
di
/etc/openvpn/ root@ubuntu:/home/fendi# cd /etc/openvpn/
2. Konfigurasi pada file vars, dengan menyesuaikannya pada keadaan yang ada. Isi dari file vars ini nantinya akan dipakai dalam pembuatan sertifikat yang akan dipakai oleh server dan client. root@ubuntu:/etc/openvpn# gedit vars
export KEY_COUNTRY="ID" export KEY_PROVINCE="JKT" export KEY_CITY="Jakarta" export KEY_ORG="MKF"
67 export KEY_EMAIL="
[email protected]"
3. Membuat Certificate Authority (CA) root@ubuntu:/etc/openvpn# source ./vars root@ubuntu:/etc/openvpn# ./clean-all root@ubuntu:/etc/openvpn# ./build-ca
Dalam ./build-ca akan ada beberapa pertanyaan yang harus dijawab, namun karena sebelumnya di file vars telah dilakukan penyesuaian, maka kita tingal menekan [enter]. Di bawah ini adalah tampilan setelah ./build-ca dieksekusi. Generating a 1024 bit RSA private key ...........++++++ .......................++++++ writing new private key to 'ca.key' ----You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----Country Name (2 letter code) [ID]: [enter] State or Province Name (full name) [Indonesia]: [enter] Locality Name (eg, city) [Jakarta]: [enter] Organization Name (eg, company) [MKF]: [enter] Organizational Unit Name (eg, section) []:[enter] Common Name (eg, your name or your server's hostname) [MKF CA]: [enter] Name []:[enter] Email Address [
[email protected]]: [enter]
68 Setelah tahapan ini selesai maka akan menghasilkan empat buah file di direktori /etc/openvpn/keys, yaitu : ca.key, ca.crt, serial, dan index.txt
4. Membuat certificate key untuk server root@ubuntu:/etc/openvpn# ./build-key-server server
Pada tahapan ini juga akan muncul beberapa isian yang akan ditanyakan, sama dengan tahapan ./build-ca, kita tinggal [enter] maka kemudian jawabannya akan terisi secara default sesuai yang kita isi di file vars. Di bawah ini adalah tampilan seletah ./build-keyserver server di eksekusi Generating a 1024 bit RSA private key ..............++++++ .++++++ writing new private key to 'server.key' ----You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----Country Name (2 letter code) [ID]: [enter] State or Province Name (full name) [Indonesia]: [enter] Locality Name (eg, city) [Jakarta]: [enter] Organization Name (eg, company) [MKF]: [enter] Organizational Unit Name (eg, section) []: [enter] Common Name (eg, your name or your server's hostname) [server]: [enter] Name []:[enter] Email Address [
[email protected]]: [enter]
69 Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:[enter] An optional company name []:[enter] Using configuration from /etc/openvpn/openssl.cnf Check that the request matches the signature Signature ok The Subject's Distinguished Name is as follows countryName :PRINTABLE:'ID' stateOrProvinceName :PRINTABLE:'Indonesia' localityName :PRINTABLE:'Jakarta' organizationName :PRINTABLE:'MKF' commonName :PRINTABLE:'server' emailAddress :IA5STRING:'
[email protected]' Certificate is to be certified until Nov 5 20:44:09 2020 GMT (3650 days) Sign the certificate? [y/n]:[y] 1 out of 1 certificate requests certified, commit? [y/n] [y] Write out database with 1 new entries Data Base Updated
5. Membuat Deffie-Helman Key root@ubuntu:/etc/openvpn# ./build-dh
6. Membuat ta.key sebagai shared secret key yang digunakan untuk memperketat autentikasi sistem keamanan VPN. root@ubuntu:/etc/openvpn# openvpn --genkey --secret
7. Konfigurasi server.conf sebagai file konfigurasi utama OpenVPN. root@ubuntu:/etc/openvpn# gedit server.conf
Langkah selanjutnya adalah melakukan editing terhadap file server.conf dengan isi sebagai berikut :
70 1|
port 1194
2|
proto udp
3|
dev tun
4|
ca /etc/openvpn/keys/ca.crt
5|
cert /etc/openvpn/keys/server.crt
6|
key /etc/openvpn/keys/server.key
7|
dh /etc/openvpn/keys/dh1024.pem
8|
plugin /usr/lib/openvpn/openvpn-auth-pam.so login
9|
client-cert-not-required
10 |
username-as-common-name
11 |
server 10.10.10.0 255.255.255.0
12 |
ifconfig-pool-persist ipp.txt
13 |
push "route 192.168.0.0 255.255.255.0"
14 |
push "redirect-gateway def1"
15 |
client-to-client
16 |
keepalive 10 120
17 |
tls-auth keys/ta.key 0
18 |
cipher AES-256-CBC
19 |
comp-lzo
20 |
max-clients 20
21 |
user nobody
22 |
group nogroup
23 |
persist-key
24 |
persist-tun
25 |
log-append openvpn.log
26 |
verb 3
Untuk contoh konfigurasi server OpenVPN bisa diambil di http://openvpn.net/index.php/opensource/documentation/howto.html#server.
71 Penjelasan : • Baris 1 : Port yang digunakan oleh OpenVPN yaitu port 1194. Port ini sudah di-assign oleh IANA. • Baris 2 : Protokol internet yang digunakan adalah UDP. Protokol UDP dipilih karena prinsipnya yang mementingkan kecepatan, berbeda dengan TCP yang lebih mementingkan keakuratan sehingga diharapkan dengan digunakannya UDP akan menambah kecepatan transfer data melewati VPN. Walaupun terkadang TCP akan lebih cepat pada kasus tertentu. • Baris 3 : dev tun menyatakan kalau koneksi VPN akan menggunakan virtual interface yang disebut dengan TUN (pilihan lain adalah TAP, TAP ini lebih baik apabila digunakan untuk bridging). TUN ini dapat digunakan seperti sebuah virtual point-to-point interface sehingga disebut juga dengan mode route yang akan lebih banyak digunakan untuk melakukan routing antara VPN partner. • Baris 4 – 7 : Letak certificate dan key yang telah dibuat • Baris 8 : Menggunakan plugin openvpn-auth-pam.so untuk melakukan autentikasi login. • Baris 9 - 10 : Baris ini berhubungan dengan baris 8. Jadi apabila mode autentikasi login dilakukan dengan plugin openvpn-authpam.so maka autentikasi client dengan menggunakan client
72 certificate akan di-disable. Dan autentikasi akan menggunakan username. • Baris 11 : Pengalamatan IP client yang akan diberikan oleh server akan berada di subnet 10.10.10.0/24. • Baris 12 : Pengalamatan IP client yang pernah terkoneksi ke server akan dicatat di file ipp.txt. Jadi apabila ada client tersebut melakukan koneksi lagi ke server maka dia akan mendapatkan IP yang sama seperti pertama kali dia terhubung ke server. • Baris 13 : Server akan secara otomatis menambahkan route 192.168.0.0/24 ke routing table-nya sehingga jaringan dengan subnet tersebut akan bisa diakses dan mengakses VPN Server. • Baris 14 : Server akan membuat client yang terhubung mendapatkan
default-gateway
sesuai
dengan
subnet
10.10.10.0/24 yang sebelumnya telah di-assign oleh server. • Baris 15 : Client yang aktif akan dapat menghubungi client lain yang terhubung ke server. • Baris 16 : Antara server dan client akan saling melakukan checking koneksi dengan melakukan ping setiap 10 detik dan apabila selama 120 detik tidak terjadi reply maka akan dianggap down. • Baris 17 : Menggunakan file key ta.key untuk melakukan autentikasi tambahan terhadap client. Di sisi server, parameter yang digunakan adalah “0”.
73 • Baris 18 : Cipher Chryptography yang digunakan adalah AES256-CBC. • Baris 19 : Sistem kompresi menggunakan comp-lzo diaktifkan. • Baris 20 : Maksimum jumlah client yang terkoneksi pada saat bersamaan adalah 20. • Baris 21 – 22 : Karena hak akses OpenVPN pada saat dijalankan adalah root maka dengan kedua konfigurasi ini hak akses root akan dipindahkan ke hak akses user (downgrade previllage) untuk mencegah gagal koneksi. • Baris 23 : Ketika OpenVPN Server di restart maka file-file key tidak akan dibaca. • Baris 24 : Menjaga agar interface TUN tetap aktif ketika server di-restart. • Baris 25 : Mencatat seluruh kegiatan yang dilakukan oleh OpenVPN kedalam log file openvpn.log. • Baris 26 : Setting level verbosity. Pada level 3, apabila terjadi error maka pesan error akan ditampilkan sehingga dapat mempermudah peruses administrasi.
8. Pembuatan autentikasi untuk login client. root@ubuntu:/etc/openvpn# useradd –m -s /bin/false user-client1 root@ubuntu:/etc/openvpn# useradd –m -s /bin/false user-client2 root@ubuntu:/etc/openvpn# useradd –m -s /bin/false user-client3 …dst…
74 root@ubuntu:/etc/openvpn# passwd user-client1 root@ubuntu:/etc/openvpn# passwd user-client2 root@ubuntu:/etc/openvpn# passwd user-client3
Pembuatan autentikasi untuk login client ini bisa disesuaikan dengan berapa banyak jumlah client yang akan dibuat. Dengan pembuatan login client dengan cara ini lebih memudahkan daripada harus membuat sertifikat untuk masing-masing client satu per satu dengan menggunakan command ./build-key-pass dan ./build-key.
4.2.2 Konfigurasi OpenVPN pada Client 1. Setelah proses instalasi OpenVPN pada client selesai dan jika belum melakukan konfigurasi maka client tidak akan dapat melakukan koneksi ke server apabila mencoba melakukan klik kanan pada icon OpenVPN GUI di taskbar.
Gambar 4.4 – Tidak Ada Pilihan Koneksi pada Client
2. Memindahkan file sertifikat dan key yang telah dibuat di server untuk dipindahkan ke client sehingga client dapat terhubung kepada server. Berikut ini adalah file-file yang diperlukan : •
ca.crt
•
ta.key
75
3. Meletakan file sertifikat dan key tadi ke folder OpenVPN client ke folder C:\Program Files\OpenVPN\config 4. Meng-copy contoh file client.ovpn dari direktori C:\Program Files\OpenVPN\example-config dan meletakan file client.ovpn di direktori C:\Program Files\OpenVPN\config. Isi file tersebut adalah sebagai berikut : 1|
client
2|
dev tun
3|
proto udp
4|
remote vpn4mkf.dyndns.org 1194
5|
resolv-retry infinite
6|
route-method exe
7|
nobind
8|
persist-key
9|
persist-tun
10 |
ca ca.crt
11 |
auth-user-pass
12 |
tls-auth ta.key 1
13 |
cipher AES-256-CBC
14 |
comp-lzo
15 |
verb 3
Penjelasan : •
Baris 1 : Komputer dengan mode ini akan didefinisikan sebagai client
76 •
Baris 2 : Protokol internet yang digunakan adalah UDP sesuai dengan yang digunakan di server.
•
Baris 3 : Device yang digunakan adalah TUN sesuai dengan yang digunakan di server.
•
Baris 4 : Koneksi ke server OpenVPN dengan alamat vpn4mkf.dyndns.org pada port 1194.
•
Baris 5 : Client akan terus menghubungi server sampai mendapatkan reply
•
Baris 6 : Setting metode OS Windows untuk melakukan konfigurasi routing dengan metode command (exe).
•
Baris 7 : Client tidak akan menggunakan dynamic port untuk melakukan koneksi, tetapi client akan menggunakan port yang telah di-assign oleh server.
•
Baris 8 : Ketika OpenVPN Server di restart maka file-file key tidak akan dibaca.
•
Baris 9 : Menjaga agar interface TUN tetap aktif ketika server direstart.
•
Baris 10 : Lokasi sertifikat untuk client.
•
Baris 11 : Autentikasi akan dilakukan dengan metode usernamepassword.
•
Baris 12 : Menggunakan file key ta.key untuk melakukan autentikasi tambahan terhadap client. Di sisi client, parameter yang digunakan adalah “1”.
77 •
Baris 13 : Cipher Chryptography yang digunakan adalah AES256-CBC.
•
Baris 14 : Sistem kompresi menggunakan comp-lzo diaktifkan.
•
Baris 15 : Setting level verbosity. Pada level 3, apabila terjadi error maka pesan error akan ditampilkan sehingga dapat mempermudah peruses administrasi.
5. Setelah konfigurasi selesai dilakukan maka apabila melakukan klik kanan pada OpenVPN GUI di taskbar akan muncul pilihan koneksi pada OpenVPN GUI di taskbar seperti gambar di bawah ini.
Gambar 4.5 – Ada Pilihan Koneksi pada Client
4.3
Konfigurasi Ddclient pada Server Ddclient adalah sebuah aplikasi gratis dari dyndns. Dyndns sendiri adalah sebuah website yang dapat membuat sebuah IP Address memiliki nama domain (Prinsip dasar dari DNS), seperti nama domain vpn4mkf.dyndns.org sehingga kita tidak perlu menghafalkan IP Address asli dari nama domain tersebut.
78 Ddclient ini berfungsi untuk meng-update alamat IP Server yang sebelumnya telah diregistrasi di website dyndns setiap kali ada perubahan, biasanya ddclient ini digunakan untuk para pelanggan ISP yang memiliki IP dynamic, seperti Speedy atau Fastnet. Dengan adanya ddclient ini maka client tidak perlu repot mencari IP asli dari VPN Server apabila terjadi perubahan IP. Berikut ini adalah langkah-langkah instalasi dan konfigurasi Ddclient pada VPN Server. 1. Lakukan
registrasi
pada
website
https://www.dyndns.com
untuk
mendapatkan service DNS. 2. Install ddclient pada VPN Server. root@ubuntu:/etc/openvpn# apt-get install ddclient
3. Setelah proses download dan instalasi selesai maka akan muncul feedback dari ddclient yang isinya menanyakan website apa yang telah kita langgan sesuai dengan langkah diatas (pilih www.dyndns.com).
Gambar 4.6 – Layar Feedback Pertama Ddclient
79 4. Kemudian setelah memilih www.dyndns.com maka akan ada feedback kedua dan ketiga yang menanyakan username dan password.
Gambar 4.7 - Layar Feedback Kedua Ddclient
Gambar 4.8 - Layar Feedback Ketiga Ddclient
5. Kemudian akan ada feedback keempat yang menanyakan apakah kita akan menggunakan fasilitas checking dynamic IP untuk melakukan checking IP Address apabila nanti IP kita akan berubah (pilih YES).
80
Gambar 4.9 - Layar Feedback Keempat Ddclient
6. Kemudian akan ada feedback kelima yang menanyakan apakah kita akan menggunakan nama domain yang telah kita daftarkan atau mendaftar baru (pilih From List).
Gambar 4.10 - Layar Feedback Kelima Ddclient
7. Kemudian akan ada feedback terakhir yang memberitahu nama domain apa yang
bisa
kita
vpn4mkf.dyndns.org).
pilih
(tekan
[space]
untuk
mengaktifkan
81
Gambar 4.11 - Layar Feedback Keenam Ddclient
8. Hasil konfigurasi tadi dapat dilihat di direktori /etc/ddclient.conf # Configuration file for ddclient generated by debconf # # /etc/ddclient.conf protocol=dyndns2 use=web, web=checkip.dyndns.com, web-skip='IP Address' server=members.dyndns.org login=seathlez password='*************' vpn4mkf.dyndns.org
9. Perintah untuk restart service DDCLIENT root@ubuntu:/etc/openvpn# service ddclient restart
4.4
Konfigurasi Firewall pada Server Setelah selesai melakukan konfigurasi pada server dan client maka konfigurasi lainnya yang tidak kalah penting adalah membuka port OpenVPN
82 pada server sehingga port tersebut diijinkan untuk melakukan koneksi dengan server. Berikut ini adalah konfigurasi untuk membuka port OpenVPN (UDP port 1194) pada VPN Server. root@ubuntu:/etc/openvpn# iptables -A INPUT -p udp --dport 1194 -j ACCEPT
Konfigurasi lainnya pada VPN Server adalah IP Forwarding dan IPTABLES untuk melakukan NAT Masquerading, tujuannya adalah agar semua paket dari client yang menuju internet disamarkan IP-nya dengan menggunakan IP Address yang telah di-assign oleh VPN Server kepada client. Berikut ini adalah konfigurasi IP Forwarding dan IPTABLES NAT pada VPN Server. root@ubuntu:/etc/openvpn# echo 1 > /proc/sys/net/ipv4/ip_forward root@ubuntu:/etc/openvpn#
iptables
–t
nat
–A
POSTROUTING
–s
10.10.10.0/24 –o wlan0 –j MASQUERADE
4.5
Konfigurasi Port Forwarding dan Routing Table pada Router (D-Link DIR-600) Karena VPN Server berada dibelakang router maka konfigurasi pada router juga diperlukan, konfigurasi ini bertujuan agar router mengijinkan paket yang berasal dari luar untuk masuk kedalamnya dan kemudian langsung diarahkan ke VPN Server. Konfigurasi tersebut adalah konfigurasi port forwarding yang berguna untuk member tahu router apabila ada paket yang ditujukan ke port tertentu maka router akan melakukan forwarding ke tujuannya (VPN Server) dan routing
83 table pada router juga harus dikonfigurasi agar mampu melakukan routing IP yang telah di-assign oleh VPN Server. Berikut ini adalah konfigurasi port forwarding pada router.
Gambar 4.12 – Konfigurasi Port Forwarding pada Router
Keterangan : •
Name : Nama service / aplikasi.
•
Public Port : Range dari port yang akan di-forwarding (karena OpenVPN hanya memakai satu port maka range diisi 1194 ~ 1194).
•
UDP : UDP adalah jenis protokol yang dipakai oleh server OpenVPN.
•
Private Port : Router akan membuat Public Port 1194 menjadi Private Port 1194 untuk dipakai di-intern router.
•
IP Address : IP tujuan port forwarding, yaitu IP VPN Server sesuai IP yang telah diberikan oleh router.
Berikut ini adalah konfigurasi untuk menambahkan routing table pada router.
Gambar 4.13 – Konfigurasi Routing Table pada Router
84 Keterangan : •
Interface WAN : Lewat / darimana Interface mana asal paket IP yang datang ke router.
4.6
•
Destination : IP Address dari VPN Server.
•
Subnet Mask : Subnet IP Address VPN Server.
•
Gateway : Lewat / darimana paket IP tersebut akan keluar-masuk.
Proses Koneksi Server - Client Setelah tahap instalasi dan konfigurasi server dan client selesai maka tahap selanjutnya adalah menjalankan service server OpenVPN pada server dan client. 4.6.1
Menjalankan OpenVPN pada Server Berikut ini adalah proses pengoperasian service server OpenVPN : 2. Pengenalan perintah-perintah pada server OpenVPN service openvpn start service openvpn restart service openvpn stop … atau … /etc/init.d/openvpn start /etc/init.d/openvpn restart /etc/init.d/openvpn stop
Penjelasan : a. Perintah service openvpn start dan /etc/init.d/openvpn start digunakan untuk menjalankan server OpenVPN.
85 b. Perintah service openvpn restart dan /etc/init.d/openvpn restart digunakan untuk melakukan restart pada server OpenVPN. c. Perintah service openvpn stop dan /etc/init.d/openvpn stop digunakan untuk menghentikan server OpenVPN.
3. Setelah perintah service openvpn start atau /etc/init.d/openvpn start dijalankan maka akan muncul pesan seperti pada gambar di bawah ini yang menunjukan kalau server telah berjalan.
Gambar 4.14 – Proses Start Server OpenVPN Berhasil
4. Apabila ada client yang mencoba untuk melakukan login ke server maka pada file /etc/openvpn/openvpn.log akan muncul log seperti di bawah ini. Wed Nov 10 00:33:17 2010 118.136.245.158:2909 Re-using SSL/TLS context Wed Nov 10 00:33:17 2010 118.136.245.158:2909 LZO compression initialized Wed Nov 10 00:33:17 2010 118.136.245.158:2909 Control Channel MTU parms [ L:1558 D:166 EF:66 EB:0 ET:0 EL:0 ] Wed Nov 10 00:33:17 2010 118.136.245.158:2909 Data Channel MTU parms [ L:1558 D:1450 EF:58 EB:135 ET:0 EL:0 AF:3/1 ] Wed Nov 10 00:33:17 2010 118.136.245.158:2909 Local Options hash (VER=V4): '162b04de' Wed Nov 10 00:33:17 2010 118.136.245.158:2909 Expected Remote Options hash (VER=V4): '9e7066d2' Wed Nov 10 00:33:17 2010 118.136.245.158:2909 TLS: Initial packet from [AF_INET]118.136.245.158:2909, sid=3ad1d2c4 3abfc271 Wed Nov 10 00:33:17 2010 118.136.245.158:2909 PLUGIN_CALL:
86 POST /usr/lib/openvpn/openvpn-authpam.so/PLUGIN_AUTH_USER_PASS_VERIFY status=0 Wed Nov 10 00:33:17 2010 118.136.245.158:2909 TLS: Username/Password authentication succeeded for username 'vpn' [CN SET] Wed Nov 10 00:33:17 2010 118.136.245.158:2909 Data Channel Encrypt: Cipher 'AES-256-CBC' initialized with 256 bit key Wed Nov 10 00:33:17 2010 118.136.245.158:2909 Data Channel Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication Wed Nov 10 00:33:17 2010 118.136.245.158:2909 Data Channel Decrypt: Cipher 'AES-256-CBC' initialized with 256 bit key Wed Nov 10 00:33:17 2010 118.136.245.158:2909 Data Channel Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication Wed Nov 10 00:33:17 2010 118.136.245.158:2909 Control Channel: TLSv1, cipher TLSv1/SSLv3 DHE-RSA-AES256-SHA Wed Nov 10 00:33:17 2010 118.136.245.158:2909 [vpn] Peer Connection Initiated with [AF_INET]118.136.245.158:2909 Wed Nov 10 00:33:17 2010 MULTI: new connection by client 'vpn' will cause previous active sessions by this client to be dropped. Remember to use the --duplicate-cn option if you want multiple clients using the same certificate or username to concurrently connect. Wed Nov 10 00:33:17 2010 MULTI: Learn: 10.10.10.14 -> vpn/118.136.245.158:2909 Wed Nov 10 00:33:17 2010 MULTI: primary virtual IP for vpn/118.136.245.158:2909: 10.10.10.14 Wed Nov 10 00:33:18 2010 vpn/118.136.245.158:2909 PUSH: Received control message: 'PUSH_REQUEST' Wed Nov 10 00:33:18 2010 vpn/118.136.245.158:2909 SENT CONTROL [vpn]: 'PUSH_REPLY,route 192.168.0.0 255.255.255.0,redirect-gateway def1,route 10.10.10.0 255.255.255.0,topology net30,ping 10,ping-restart 120,ifconfig 10.10.10.14 10.10.10.13' (status=1)
4.6.2
Menjalankan OpenVPN pada Client Berikut ini adalah proses pengoperasian OpenVPN pada client : 1. Setelah berhasil melakukan instalasi pada client maka akan muncul OpenVPN GUI pada taskbar seperti pada Gambar 4.4.
87 2. Setelah konfigurasi pada client sudah selesai dilakukan, maka kalau dilakukan klik kanan pada icon OpenVPN GUI di taskbar akan muncul pilihan koneksi seperti pada Gambar 4.7. Tahapan selanjutnya adalah klik connect.
Gambar 4.15 – Klik Connect pada OpenVPN GUI di Taskbar
3. Client akan coba melakukan koneksi ke VPN Server. Sebelumnya akan muncul field isian OpenVPN – User Authentication yang meminta username dan password. Masukkan username dan password sesuai tahapan registrasi client yang telah dilakukan di server.
88
Gambar 4.16 – OpenVPN – User Authentication
4. Setelah username dan password dimasukan maka client akan mencoba melakukan koneksi ke VPN server.
Gambar 4.17 – Client Melakukan Koneksi ke Server
89
Gambar 4.18 – Client Berhasil Terhubung ke Server
5. Apabila client sudah terhubung ke server maka client secara otomatis akan mendapatkan IP Address dari server.
Gambar 4.19 – Client Mendapatkan IP Address dari Server
4.7
Evaluasi dengan Simulasi Sebenarnya untuk evaluasi jaringan VPN dengan OpenVPN ini belum ditemukan standar bakunya. Oleh karena itu disusun skenario uji coba sedemikan rupa berdasarkan kebutuhan client terhadap server. Uji coba dan simulasi ini dilakukan menggunakan dua client yang masing-masing berada di
90 jaringan yang berbeda dan berada di tempat yang jauh dari server, client ini masing-masing menggunakan modem GSM untuk dapat mengakses internet. Di bawah ini adalah spesifikasi PC client yang digunakan untuk melakukan uji coba dan simulasi jaringan VPN :
Spesifikasi client 1 :
Tabel 4.1 – Spesifikasi client 1 yang digunakan untuk uji coba Brand
-
Processor
Intel Core 2 Duo E6550 2.33 GHz
Harddisk
80 GB
Memory
2 GB DDR2
LAN Card
OnBoard
Operating System
Windows XP Professional SP2
Koneksi Internet
Modem Handphone Sony Ericsson k770i + IM3
Spesifikasi client 2 :
Tabel 4.2 – Spesifikasi client 2 yang digunakan untuk uji coba Brand
Sony Vaio vpcea16fg
Processor
Intel i5 CPU M524 2.40 GHz
Harddisk
500 GB
Memory
4 GB DDR3
LAN Card
OnBoard
Operating System
Windows 7 Home Premium
Koneksi Internet
Modem USB Sierra Wireless HSDPA 881u + Telkomsel Flash
91 Selanjutnya adalah tahap dari evaluasi dengan simulasi yang akan dilakukan untuk mengevaluasi dan melakukan simulasi terhadap VPN yang akan dibuat. Adapun tahapan itu adalah evaluasi koneksi antara server dengan client, evaluasi koneksi antara client dengan client, evaluasi transfer data antara server dengan client, evaluasi transfer data antara client dengan client, evaluasi keamanan VPN, dan evaluasi VPN yang telah dibuat pada platform (sistem operasi) yang berbeda-beda.
4.7.1
Evaluasi Koneksi antara Server dengan Client Pada evaluasi koneksi antara server dan client dengan skenario client yang berada jauh dari server dan client ini terhubung ke internet menggunakan modem GSM akan dilakukan dengan cara melakukan checking pada IP masing-masing komputer server dan client, routing table, melakukan ping dari komputer server dan client. IPCONFIG Server :
92
Gambar 4.20 – IPCONFIG Server
Pada gambar diatas dapat dilihat kalau server memiliki interface tun0 dengan IP 10.10.10.1 yang diberikan oleh OpenVPN. Sedangkan interface wlan0 digunakan untuk melakukan koneksi ke internet melalui router.
93 Client :
Gambar 4.21 – IPCONFIG Client
Pada gambar diatas dapat dilihat kalau client memiliki interface OpenVPN Tunnel dengan IP 10.10.10.14 yang diberikan oleh OpenVPN Server.
Routing Table Server :
Gambar 4.22 – Routing Table Server
94 Pada gambar diatas dapat dilihat kalau server sudah memiliki rute ke subnet VPN 10.10.10.0 dan ke rute jaringan yang berada satu subnet dengan VPN Server, yaitu jaringan dengan subnet 192.168.0.0.
Client :
Gambar 4.23 – Routing Table Client
Dari gambar diatas dapat dilihat kalau routing table dari client dengan IP 10.10.10.14 yang diberikan VPN Server telah memiliki rute ke jaringan yang sama dengan jaringan yang ada pada router VPN Server dengan subnet 192.168.0.0. Sedangkan client sendiri memiliki IP
95 10.35.49.9 yang merupakan IP yang diberikan oleh ISP dan dengan IP inilah client melakukan koneksi dengan VPN Server.
Ping Server ke client :
Gambar 4.24 – Ping ke Client dari Server
Pada gambar diatas dapat dilihat kalau server sudah terhubung dengan client (10.10.10.14) dan dapat melakukan komunikasi satu sama lain.
Client ke server :
Gambar 4.25 – Ping ke Server dari Client
96 Pada gambar diatas dapat dilihat kalau client sudah terhubung dengan server (10.10.10.1) dan dapat melakukan komunikasi satu sama lain.
4.7.2
Evaluasi Koneksi antara Client dengan Client Pada evaluasi koneksi antara client dan client yang keduanya terhubung ke server yang sama, dimana masing-masing client terpisah jarak tetapi kedua client dapat terhubung ke internet melalui modem GSM akan dilakukan dengan cara melakukan ping dari ke komputer client dan client lainnya.
Gambar 4.26 – Ping ke Client 1 dari Client 2
Gambar 4.27 – Ping ke Client 2 dari Client 1
97 Berdasarkan gambar hasil percobaan ping antara client 1 dan client 2 di atas menunjukan kalau dua client yang terhubung dengan VPN Server dapat saling melakukan komunikasi, dimana client 1 yang mobile menggunakan Modem Handphone Sony Ericsson dengan IP 10.10.10.14 dan client 2 yang mobile menggunakan Modem GSM Sierra.
4.7.3
Evaluasi Transfer Data antara Server dengan Client Pada evaluasi transfer data antara server dan client akan dilakukan oleh client dengan cara mengakses FTP Server yang telah dibuat di server dan kemudian mengambil data dari FTP Server tersebut dengan menggunakan tunnel yang telah dibuat oleh VPN. Proses instalasi dan konfigurasi FTP Server pada VPN Server dilampirkan pada Halaman Lampiran.
Gambar 4.28 – Client Mengakses FTP Server yang Dibuat VPN Server (10.10.10.1)
98
Gambar 4.29 – Client Mengambil data dari FTP Server yang Dibuat VPN Server (10.10.10.1)
Pada gambar diatas menunjukan kalau client dapat mengakses dan mengambil data yang di-share oleh VPN Server melalui FTP Server yang dibuat oleh VPN Server.
4.7.4
Evaluasi Transfer Data antara Client dengan Client Pada evaluasi transfer data antara client dan client yang terhubung ke VPN yang sama akan dilakukan oleh client 2 dengan cara mengakses FTP Server yang telah dibuat di client 1 dan kemudian mengambil data dari FTP Server tersebut dengan menggunakan tunnel yang telah dibuat oleh VPN. Proses instalasi dan konfigurasi FTP Server pada client 1 dilampirkan pada Halaman Lampiran.
99
Gambar 4.30 – Client 2 Mengakses FTP Server yang Dibuat Client 1 (10.10.10.14)
Gambar 4.31 – Client Mengambil data dari FTP Server yang Dibuat Client 2 (10.10.10.14)
100 Pada gambar diatas menunjukan kalau client 2 dapat mengakses dan mengambil data yang di-share oleh client 1 melalui FTP Server yang dibuat oleh client 1.
4.7.5
Evaluasi Keamanan VPN Karena VPN adalah jaringan yang menggunakan jalur internet (public) untuk melakukan koneksi satu sama lain maka keamanan merupakan salah satu hal yang penting. Oleh karena itu dilakukan evaluasi untuk melihat apakah VPN ini dapat menjaga keamanan dan kerahasiaan data yang dilewatkan pada jalur internet. Mitigasi
resiko
keamanan
VPN
(Cisco
Press,
Security
Considerations, p74) adalah sebuah pembahasan mengenai hal-hal yang harus dipertimbangkan ketika mengimplementasikan sebuah VPN berbasis SSL/TLS. Salah satu dari mitigasi resiko keamanan tersebut adalah “memilih algoritma enkripsi yang kuat”, hal ini dapat dilakukan dengan memilih enkripsi yang kuat untuk mengenkripsi data. Contohnya adalah AES. Oleh karena itu, pada pembuatan VPN ini kami menggunakan algoritma enkripsi / ciphertext AES-256-CBC untuk melakukan enkripsi pada data yang akan ditransfer. Seberapa kuatkah AES apabila menghadapi “brute-force-attack” (Whitfield Diffie, http://labs.oracle.com/features/encryption/). Untuk mendekripsikan data yang telah dienkripsi dengan AES dengan metode “brute-force-attack” maka para attacker membutuhkan kombinasi 11
101 yang diikuti dengan 77 buah nol. Maka diperkirakan apabila para attacker mencoba mendekripsi pesan tersebut secara paksa menggunakan teknologi komputer biasa, akan memakan waktu sekitar 149 triliun tahun untuk mendekrpsikan pesan tersebut. Seperti yang telah disebutkan di atas dan berdasarkan pertimbangan
waktu
dan
sumber
daya
peralatan
yang
tidak
memungkinkan untuk mencoba secara langsung dalam mendekripsi secara paksa pesan yang telah dienkripsi dengan AES, maka kami buat sebuah skenario uji keamanan yang akan menunjukan kalau data yang akan ditransfer dengan VPN sudah terenkripsi. Oleh karena itu, pada evaluasi keamanan ini akan dilakukan sniffing dengan menggunakan Wireshark untuk melihat apakah data yang sedang ditransfer telah dienkripsi VPN sehingga apabila data diambil oleh pihak yang tidak berkepentingan maka mereka tidak akan dengan mudah mendekripsi data tersebut. Berikut ini adalah gambar isi dari data yang akan dicoba untuk di transfer dalam evaluasi keamanan ini.
Gambar 4.32 – Isi Data yang Akan Ditransfer
102 Adapun berikut ini adalah gambar dari hasil sniffing yang dilakukan dengan menggunakan Wireshark pada interface LAN yang dimiliki oleh client, yaitu Attansic AtcL001 Gigabit Ethernet Controller untuk mentransfer data dengan menggunakan VPN Tunnel.
Gambar 4.33 – Hasil Sniff dengan VPN Tunnel
Berdasarkan gambar diatas dapat dilihat kalau data yang ditransfer dengan menggunakan VPN sudah terenkripsi dan tidak dapat terbaca isinya oleh Wireshark karena seluruh proses transfer data sudah
103 dienkripsi oleh VPN dan seluruh aktifitas dengan menggunakan VPN Tunnel akan ditangani oleh protokol UDP dengan port 1194 (OpenVPN).
4.7.6 Evaluasi VPN di Platform (Sistem Operasi) Berbeda Karena ada banyak kemungkinan kalau user yang menggunakan VPN ini memakai OS yang berbeda-beda maka evaluasi platform (OS) ini dilakukan untuk mengetahui apakah OpenVPN ini dapat digunakan di OS yang berbeda dalam lingkup Windows. Evaluasi ini akan dilakukan dengan cara meng-install dan menjalankan OpenVPN pada OS Windows XP Professional SP2 dan Windows 7 Home Premium dan mencoba melakukan koneksi ke VPN Server. Di bawah ini adalah gambar client yang menggunakan OS Windows XP Professional SP2.
Gambar 4.34 – Client OpenVPN yang Menggunakan OS Windows XP Professional SP2
104
Gambar 4.35 – Client OpenVPN yang Menggunakan OS Windows 7 Home Premium
Berdasarkan gambar diatas dapat dilihat kalau OpenVPN dapat digunakan pada OS Windows XP Professional SP2 dan Windows 7 Home Premium. Selain dapat dijalankan pada OS Windows XP Professional SP2 dan Windows 7 Home Premium, VPN ini juga dapat dipakai di Sistem Operasi Linux, khususnya Ubuntu karena VPN Server sendiri menggunakan Sistem Operasi Ubuntu Desktop 10.04 LTS.