Anda di halaman 1dari 8

!"#$%&' )"*+&,#- .&%/, 0"1"'%2+3,'45, .6!

)

M
MODUL ODUL
9
9

O
OPEN PEN
VPN
VPN


1.1 TUJUAN PEMBELAJARAN:
1. Mahasiswa mampu memahami cara kerja VPN
2. Mahasiswa mampu menggunakan aplikasi VPN
3. Mahasiswa mampu memahami troubleshot jaringan VPN


1.2 DASAR TEORI
OpenVPN adalah aplikasi open source untuk Virtual Private Networking (VPN), dimana
aplikasi tersebut dapat membuat koneksi point-to-point tunnel yang telah terenkripsi.
OpenVPN menggunakan private keys, certificate, atau username/password untuk
melakukan authentikasi dalam membangun koneksi. Dimana untuk enkripsi menggunakan
OpenSSL.


Gambar 1. Model jaringan VPN
!"#$%&' )"*+&,#- .&%/, 0"1"'%2+3,'45, .6!)


Gambar 2. Langkah-langkah VPN
Langkah-langkah membangun jaringan VPN adalah :
1. Pada VPN gateway membuat shared key dan certificate
2. Mengirimkan key tersebut kepada client yang akan melakukan koneksi
3. Membangun koneksi dengan menggunakan key yang telah didapat dari suatu VPN
Gateway

1.3 TUGAS PENDAHULUAN
1. Jelaskan dengan singkat apa kegunaan dari VPN secara umum?
2. Jelaskan proses pertukaran kunci client-server pada aplikasi VPN.

1.4 PERCOBAAN
1. Bangunlah jaringan seperti berikut :











Gambar 3. Jaringan Percobaan
NB:
Gunakan dhclient di masing-masing PC untuk mendapatkan IP dari router.
!"#$%&' )"*+&,#- .&%/, 0"1"'%2+3,'45, .6!)

192.168.50.x & y : IP dari router
Pilih 192.168.50.x sebagai VPN Gateway
Pilih 192.168.50.y sebagai PC Client

Pada VPN Gateway, aktifkan ip_forward :
# echo 1 > /proc/sys/net/ipv4/ip_forward

A.KONFIGURASI PADA VPN Gateway
2. Install aplikasi openVPN
# apt-get install openvpn

3. Mempersiapkan Certificate Authority (CA) dan Key
a. Untuk mempersiapkan key pada openvpn dapat dilakukan dengan bantuan tools easy-
rsa, dimana tools tersebut terdapat di /usr/share/doc/openvpn/examples. Salin tools
tersebut kedirektori /root, dengan cara
# cp /usr/share/doc/openvpn/examples/easy-rsa/ /root Rf

b. Kemudian gunakan tools tersebut dengan masuk ke direktori tersebut
# cd /root/easy-rsa/2.0

c. Key dan certificate yang dibuat akan disimpan pada direktory /root/easy-rsa/2.0/keys
Untuk mengenerate CA dapat dilakukan dengan cara
~/easy-rsa# source ./vars => konfigurasi dasar
~/easy-rsa# ./clean-all => menghapus konfigurasi lama di keys
~/easy-rsa# ./build-ca => buat sertifikat baru di keys

Pada perintah build-ca, akan muncul beberapa pertanyaan, isi dengan :
Country Name : ID
State or Province : East Java
Locality Name : Surabaya
Organization Name : NetSecurity
Organization Unit : VPN
Common Name : kelompok1.eepis-its.edu (isi dengan VPN Gateway)
Email : kel1@eepis-its.edu (isi dengan email masing-masing)

4. Membuat certificate dan key untuk server (VPN Gateway)
Untuk membuat key dan certificate disisi server dengan nama: server dapat dilakukan
dengan cara :
~easy-rsa/2.0# ./build-key-server server

Kemudian akan muncul beberapa pertanyaan yang mirip dengan perintah sebelumnya.
Namun pada pertanyaan Common Name isikan dengan nama server/router.
Common Name : kelompok1.eepis-its.edu

Apabila ada pertanyaan password[], kosongkan. Sedangkan pada pertanyaan Sign the
certificate? [y/n]: dan 1 out of 1 certificate requests certified, commit? [y/n], ketik y
!"#$%&' )"*+&,#- .&%/, 0"1"'%2+3,'45, .6!)


Dari proses diatas akan dibuat 3 buah file : server.csr, server.crt, server.key
Cek dengan : # ls /root/easy-rsa/2.0/keys
Amati file server.crt, catat informasi pada file tersebut.

5. Membuat certificate dan key untuk client
Untuk membuat key dan certificate yang akan digunakan oleh client, dapat dilakukan dengan
cara :
~easy-rsa/2.0# ./build-key client

Kemudian akan muncul beberapa pertanyaan yang mirip dengan perintah sebelumnya.
Namun pada pertanyaan Common Name isikan dengan nama server/router.
Common Name : kelompok1.eepis-its.edu
Sedangkan pada pertanyaan Sign the certificate? [y/n]: dan 1 out of 1 certificate requests
certified, commit? [y/n], ketik y

Dari proses diatas akan dibuat 3 buah file : client.csr, client.crt, client.key
Cek dengan : # ls /root/easy-rsa/2.0/keys

Amati file client.crt, catat informasi pada file tersebut.

6. Membuat Parameter dari Diffie Hellman
Parameter Diffie Hellman digunakan oleh 2 pengguna untuk melakukan pertukaran key
rahasia melalui media yang tidak aman. Ini dikarenakan antara server dan client memiliki
kunci sendiri-sendiri sehingga perlu saling dipertukarkan yang akan menghasilkan kunci
yang sama diantara client dan server.
Untuk membuatnya dapat dilakukan dengan cara :
~easy-rsa/2.0# ./build-dh

7. Pemindahan Keys dan Certificate
Setelah membuat key dan certificate. Diperoleh key dan certificate yang disimpan di
direktory keys
ca.crt (root certificate)
ca.key (private key untuk certificate)
dhxxxx.pem, dimana xxxx adalah jumlah enkripsi yang digunakan
server.crt (certificate X509 milik server)
server.csr (certificate request)
server.key (private key untuk server)
client.crt (certificate X509 milik client)
client.csr (certificate request)
client.key (private key untuk client)


Nama File Diperlukan oleh Tujuan Kerahasiaan
ca.crt Server + semua client Root CA Certificate Tidak
!"#$%&' )"*+&,#- .&%/, 0"1"'%2+3,'45, .6!)

ca.key Server sbg self-signed
certificate
Root CA key (sbg kunci
penandatangan)
Ya
dh(n).pem Server Diffie Hellman parameter untuk
pertukaran kunci antara client -
server
Tidak
server.csr Server Certificate Signing Request milik
server, akan dikirim ke CA utk
ditandatangani
Tidak
server.crt Server Certificate Server yang sudah
ditandatangani oleh CA
Tidak
server.key Server Private key milik server Ya
client.csr Client Certificate Signing Request milik
server, akan dikirim ke CA utk
ditandatangani
Tidak
client.crt Client Certificate Client yang sudah
ditandatangani oleh CA
Tidak
client.key Client Private key milik client Ya

Kemudian pindahkan key dan certificate tersebut pada direktori /etc/openvpn, sedangkan
ca.crt, client.crt, client.csr dan client.key harus dipindah ke PC client yang akan membuat
koneksi dengan VPN gateway.

Salin key dan certificate yang dibutuhkan (dh1024.pem, ca.* dan server.*). dengan cara :
~easy-rsa/2.0# cp keys/ca.* /etc/openvpn
~easy-rsa/2.0# cp keys/server.* /etc/openvpn
~easy-rsa/2.0# cp keys/dh1024.pem /etc/openvpn

8. Membuat konfigurasi untuk OpenVPN
Konfigurasi disisi VPN gateway menggunakan server.conf sedangkan disisi PC client adalah
client.conf. Contoh file konfigurasi bisa diambil dari
/usr/share/doc/openvpn/examples/sample-config-files/
Salin file konfigurasi ke direktori /etc/openvpn, dengan cara :
#gunzip c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz >
/etc/openvpn/server.conf

#vim /etc/openvpn/server.conf
Rubah pada file konfigurasi /etc/openvpn/server.conf, pada bagian :
;local a.b.c.d

Apabila IP dari VPN Gateway adalah 192.168.50.10 maka ganti a.b.c.d dengan
192.168.50.10. Sesuaikan dengan IP Router yang akan dijadikan VPN Gateway. Sehingga
file tersebut dirubah menjadi:
local 192.168.50.10
!"#$%&' )"*+&,#- .&%/, 0"1"'%2+3,'45, .6!)


Pastikan informasi di bawah ini sama dengan file yang sudah dibuat diatas :
ca ca.crt
cert server.crt
key server.key


Uncomment untuk mengetahui log pada proses openvpn
log openvpn.log
log-append openvpn.log

9. Menjalankan openvpn
a. Sebelum menjalankan openvpn, amatilah prosesnya dengan
# tail -f /var/log/daemon.log

b. Menjalankan OpenVPN dengan cara :
# /etc/init.d/openvpn restart

c. Sehingga akan muncul network device tun0:
# ifconfig
tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet addr:10.8.0.1 P-t-P:10.8.0.53 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:123 errors:0 dropped:0 overruns:0 frame:0
TX packets:139 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:73514 (71.7 KB) TX bytes:20273 (19.7 KB)

B.KONFIGURASI PADA PC Client
10. Install aplikasi openvpn
# apt-get install openvpn

11. Salinlah file-file sertifikat dan kunci pada poin 6 dari VPN Gateway ke PC Client
File yang perlu dicopy adalah :
ca.crt, ca.key, client.crt, client.csr dan client.key

Gunakan aplikasi ftp/sftp untuk mencopy file-file diatas dari VPN Gateway, dan letakkan di
/etc/openvpn di PC Client, jika pakai ftp mengalami masalah, bisa di-copy lewat flashdisk.
# ftp <no_ip_VPN_Gateway>
ftp>cd /root/easy-rsa/2.0/keys => chmod dulu utk dir keys
ftp>get ca.crt
ftp>mget client.* => untuk file client.key perlu chmod 755
ftp>quit

# cp ca.* client.* /etc/openvpn

!"#$%&' )"*+&,#- .&%/, 0"1"'%2+3,'45, .6!)

12. Membuat konfigurasi untuk OpenVPN
Konfigurasi disisi PC client adalah client.conf. Contoh file konfigurasi bisa diambil dari
/usr/share/doc/openvpn/examples/sample-config-files/
Salin contoh file konfigurasi client.conf ke direktori /etc/openvpn, dengan cara
# cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/


Rubah file konfigurasinya dengan cara
# vim /etc/openvpn/client.conf

Pada bagian :
remote my-server-1 1194

Menjadi :
remote 192.168.50.10 1194

Dimana 192.168.50.10 adalah IP server OpenVPN, ganti IP tersebut dengan IP VPN
Gateway yang dituju.

Pastikan informasi di bawah ini sama dengan file yang sudah dikopy dari server :
ca ca.crt
cert client.crt
key client.key

13. Menjalankan openvpn
a. Sebelum menjalankan openvpn, amatilah prosesnya dengan
# tail -f /var/log/daemon.log atau
# tail f /etc/openvpn/openvpn.log

b. Menjalankan OpenVPN dengan cara :
# /etc/init.d/openvpn restart

c. Sehingga akan muncul network device tun0:
# ifconfig

d. Cek table routing di PC Server, dan catat hasilnya :
# route -n


C. TES KONFIGURASI VPN GW PC CLIENT
14. Tes dengan ping dari PC Client ke VPN Gateway dengan menggunakan interface eth0 dan
tun0.
# ping 192.168.50.10
# ping 10.8.0.1
!"#$%&' )"*+&,#- .&%/, 0"1"'%2+3,'45, .6!)


15. Jalankan wireshark (pilih yang interface eth saja) pada PC Client dan lakukan telnet pada
interface eth0 dan tun0

16. Jalankan telnet dari PC Client ke VPN Gateway
# telnet 192.168.50.10
Amati prosesnya di wireshark.

# telnet 10.8.0.1
Amati prosesnya di wireshark, capture di bagian eth0, jangan di tun0.


1.5 LAPORAN RESMI
"# $%&'()* (%+',-./)* 0)+'/ -&)(1'(., 2)*3 )*4) /)(.()*#
5# $%&' 67*170 -%,)()')* 177/ /)'* .*1.( )-/'()+' 89: ;

Anda mungkin juga menyukai